import React, { Component } from 'react'
// 类组件的状态其实就是类组件实例的私有数据. 但是不能说实例的私有数据就是状态
export default class Count extends Component {
  constructor() {
    super()
    // this.c = 1 // c是每一个创建出来的Count实例的私有数据
    // 注意: 随便给实例定义的私有数据,不会导致页面渲染
    // 名为state的私有数据,才是实例的状态,修改state(状态)的值,才会让页面重新渲染
    // 定义状态
    this.state = {
      c: 1,
    }
  }
  render() {
    //render的this一定是组件实例
    return (
      <div>
        {/* 使用状态: 状态一定是要在render中渲染出来的 */}
        <p>{this.state.c}</p>
        <button
          onClick={() => {
            // this.c = this.c + 1
            // console.log(this.c)
            // 不能这样写:
            // this.state.c = this.state.c + 1
            // 修改状态的值,必须调用this.setState
            // 修改状态:
            this.setState({
              // 属性: 目标值
              c: this.state.c + 1,
            })
            console.log(this.state.c)
          }}
        >
          +
        </button>
      </div>
    )
  }
}
